#include <stdio.h>
#include <boost/ptr_container/ptr_vector.hpp>
#include <boost/shared_ptr.hpp>

class Person {
    public:
        Person() { puts("Person()"); }
        ~Person() { puts("~Person()"); }
};

int main() {
    boost::shared_ptr<Person> p(new Person);
    {
        boost::ptr_vector<Person> people;
        people.push_back(new Person);
        people.push_back(new Person);
        people.push_back(new Person);
        // people.push_back(p); error
    }

    puts("finished");
    return 0;
};
